import axios from 'axios'

// token值从后台获取的密钥没有可以不传
// const token = ''
// 统一传token
// axios.defaults.headers['token'] = `${token}`;
// 创建自定义实例
const service = axios.create({
    baseURL: 'https://liu.zzgoodqc.cn', // 从环境变量读取基础地址
    timeout: 15000 // 请求超时时间
})
// 请求拦截器
service.interceptors.request.use(
    config => {
        // 在发送请求前做些什么
        return config
    },
    error => {
        // 对请求错误做些什么
        return Promise.reject(error)
    }
)
// / 响应拦截器
service.interceptors.response.use(
    response => {
        const res = response.data
        // 自定义状态码验证（根据后端约定）
        // if (res.code !== 200) {
        //return Promise.reject(new Error(res.message || 'Error'))
        // } else {
        return res
    },
    error => {
        return Promise.reject(error)
    }
)
// 封装GET/POST快捷方法
//处理注册数据
export function RegisterAllGet(url, data, options = {}) {
    return service({
        url,
        data,
        method: 'POST',
        ...options
    })
}
//处理登录数据
export function LoginGetVercode(url, data, options = {}) {
    return service({
        url,
        data,
        method: 'GET',
        ...options
    })
}
//处理登录数据
export function LoginGetAllData(url, data, options = {}) {
    return service({
        url,
        data,
        method: 'POST',
        ...options
    })
}
//处理注册错误结果
export function RegisterErrGet(url, params, options = {}) {
    return service({
        url,
        params,
        method: 'GET',
        ...options
    })
}
//处理登录错误结果
export function LoginErrGet(url, params, options = {}) {
    return service({
        url,
        params,
        method: 'GET',
        ...options
    })
}
//获取系统角色列表
export function SysadminGet(url, params, options = {}) {
    return service({
        url,
        params,
        method: 'GET',
        ...options
    })
}
//处理添加角色列表
export function SysadminPost(url, data, options = {}) {
    return service({
        url,
        data,
        method: 'POST',
        ...options
    })
}
//处理删除角色列表
export function SysadminDelete(url, data, options = {}) {
    return service({
        url,
        data,
        method: 'POST',
        ...options
    })
}
//处理模糊搜索角色列表
export function SearchGet(url, data, options = {}) {
    return service({
        url,
        data,
        method: 'POST',
        headers: {
            'Content-Type': 'application/json',
            ...options.headers
        },
        ...options
    })
}
//处理角色编辑
export function PeoplePut(url, data, options = {}) {
    return service({
        url,
        data,
        method: 'POST',
        headers: {
            'Content-Type': 'application/json',
            ...options.headers
        },
        ...options
    })
}
//处理角色状态接口
export function StatusPost(url, data, options = {}) {
    return service({
        url,
        data,
        method: 'POST',
        headers: {
            'Content-Type': 'application/json',
            ...options.headers
        },
        ...options
    })
}
//权限树
export function SysadminTreeGet(url, data, options = {}) {
    return service({
        url,
        data,
        method: 'GET',
        ...options
    })
}